package com.suinian.qinghebackendproj.controller;


import com.suinian.qinghebackendproj.entity.Vo.LoginVo;
import com.suinian.qinghebackendproj.entity.Vo.RegisterVo;
import com.suinian.qinghebackendproj.service.UserService;
import jakarta.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class LoginController {

    //实例化用户业务对象 使用@Autowired 也可
    @Resource
    UserService userService;
    // 登录方法
    @PostMapping("/login")
    public String login(@RequestBody LoginVo loginVo) {
        //获取用户名
        String usernameOrPhone = loginVo.getUsernameOrPhone();
        //获取密码
        String password = loginVo.getPassword();
        //交给业务对象处理 TODO 实现login方法
        boolean isLoggedIn = userService.login(usernameOrPhone, password);

        if (isLoggedIn) {
            return "登录成功";
        } else {
            return "登录失败，请检查用户名/手机号或密码是否正确";
        }
    }

    // 注册方法 //TODO 完善报错
    @PostMapping("/register")
    public String register(@RequestBody RegisterVo registerVo) {
        // TODO 完善RegisterVo 对象的内容 现在里面是空的

        // TODO 从RegisterVo 获取注册时的参数

        //TODO 将参数传递给用户业务对象
        boolean isRegistered = userService.register(//需要的参数数量 以及具体的参数);
        //判断结果
        if (isRegistered) {
            return "注册成功";
        } else {
            return "注册失败，请检查输入信息是否正确或该手机号/用户名是否已被注册";
        }
    }
}
